package com.redsoft.spirit.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import com.fasterxml.jackson.annotation.JsonFormat;


/**
 * The persistent class for the sys_account database table.
 */
@Entity
@Table(name="sys_account")
@NamedQuery(name="Account.findAll", query="SELECT a FROM Account a")
public class Account implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid")
	private String id;

	@Column(name="account_name")
	private String accountName;

	@Column(name="account_pwd")
	private String accountPwd;

	@Column(name="account_salt")
	private String accountSalt;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="create_time")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date createTime;

	@Column(name="display_order")
	private Integer displayOrder;

	@Column(name="ext_a")
	private String extA;

	@Column(name="ext_b")
	private String extB;

	@Column(name="ext_c")
	private String extC;

	@Column(name="is_active")
	private String isActive;

	@Column(name="is_systematic")
	private String isSystematic;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="last_login_time")
	private Date lastLoginTime;

	@Column(name="logon_mode")
	private Integer logonMode;

	@Column(name="person_id")
	private String personId;

	private String properties;

	@Column(name="real_name")
	private String realName;
	
	@Column(name="phone_no")
	private String phoneNo;
	
	@Column(name="avatar")
	private String avatar;

	public Account() {
	}

	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getAccountName() {
		return this.accountName;
	}

	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}

	public String getAccountPwd() {
		return this.accountPwd;
	}

	public void setAccountPwd(String accountPwd) {
		this.accountPwd = accountPwd;
	}

	public String getAccountSalt() {
		return this.accountSalt;
	}

	public void setAccountSalt(String accountSalt) {
		this.accountSalt = accountSalt;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Integer getDisplayOrder() {
		return this.displayOrder;
	}

	public void setDisplayOrder(Integer displayOrder) {
		this.displayOrder = displayOrder;
	}

	public String getExtA() {
		return this.extA;
	}

	public void setExtA(String extA) {
		this.extA = extA;
	}

	public String getExtB() {
		return this.extB;
	}

	public void setExtB(String extB) {
		this.extB = extB;
	}

	public String getExtC() {
		return this.extC;
	}

	public void setExtC(String extC) {
		this.extC = extC;
	}

	public String getIsActive() {
		return this.isActive;
	}

	public void setIsActive(String isActive) {
		this.isActive = isActive;
	}

	public String getIsSystematic() {
		return this.isSystematic;
	}

	public void setIsSystematic(String isSystematic) {
		this.isSystematic = isSystematic;
	}

	public Date getLastLoginTime() {
		return this.lastLoginTime;
	}

	public void setLastLoginTime(Date lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public Integer getLogonMode() {
		return this.logonMode;
	}

	public void setLogonMode(Integer logonMode) {
		this.logonMode = logonMode;
	}

	public String getPersonId() {
		return this.personId;
	}

	public void setPersonId(String personId) {
		this.personId = personId;
	}

	public String getProperties() {
		return this.properties;
	}

	public void setProperties(String properties) {
		this.properties = properties;
	}

	public String getRealName() {
		return this.realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}
	
	public String getPhoneNo() {
		return phoneNo;
	}

	public void setPhoneNo(String phoneNo) {
		this.phoneNo = phoneNo;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	@Transient
	private String deptName;

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
}